package com.fiap.solutions.dao.Impl;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

import com.fiap.solutions.Enum.TipoPessoa;
import com.fiap.solutions.dao.ClientePessoaJuridicaDAO;
import com.fiap.solutions.entity.ClientePessoaJuridica;

public class ClientePessoaJuridicaDAOImpl extends DAOImpl<ClientePessoaJuridica, Integer> implements ClientePessoaJuridicaDAO{

	public ClientePessoaJuridicaDAOImpl(EntityManager entityManager) {
		super(entityManager);
	}
	
	
	
	public ClientePessoaJuridica buscaPorNomeTipo(String nome, String tipoPessoa){
		TypedQuery<ClientePessoaJuridica> query = em.createQuery("FROM ClientePessoaJuridica c where c.nome =:nomeCli "
				+ "and c.tipoPessoa =:tipoPessoaCli", ClientePessoaJuridica.class);
		
		query.setParameter("nomeCli", nome);
		query.setParameter("tipoPessoaCli", tipoPessoa);
		
		return query.getSingleResult();
	}
	

	
	public ClientePessoaJuridica buscarClientePorTipoCodigo(TipoPessoa tipo, int codigo){
		TypedQuery<ClientePessoaJuridica> query = em.createQuery("FROM ClientePessoaJuridica cli where cli.tipoPessoa =:tipo and cli.codigo =:codigo", ClientePessoaJuridica.class);
		
		query.setParameter("tipo", tipo);
		query.setParameter("codigo", codigo);
		
		return query.getSingleResult();
	}

}
